from sparkai.llm.llm import ChatSparkLLM, ChunkPrintHandler
from sparkai.core.messages import ChatMessage

#星火认知大模型v3.5的URL值，其他版本大模型URL值请前往文档（https://www.xfyun.cn/doc/spark/Web.html）查看
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.5/chat'
#星火认知大模型调用秘钥信息，请前往讯飞开放平台控制台（https://console.xfyun.cn/services/bm35）查看
SPARKAI_APP_ID = '90e4d0f6'
SPARKAI_API_SECRET = 'YjM0YmFmMDJlNjFiMDVhY2UyOGU5MDhj'
SPARKAI_API_KEY = '628a386a8b12ff8ddc3787a24cf832a7'
#星火认知大模型v3.5的domain值，其他版本大模型domain值请前往文档（https://www.xfyun.cn/doc/spark/Web.html）查看
SPARKAI_DOMAIN = 'generalv3.5'

spark = ChatSparkLLM(
    spark_api_url=SPARKAI_URL,
    spark_app_id=SPARKAI_APP_ID,
    spark_api_key=SPARKAI_API_KEY,
    spark_api_secret=SPARKAI_API_SECRET,
    spark_llm_domain=SPARKAI_DOMAIN,
    streaming=False,
)

def re_ai_speak(input_text):
    messages = [ChatMessage(
        role="user",
        content=input_text
    )]
    handler = ChunkPrintHandler()

    a = spark.generate([messages], callbacks=[handler])
    b = a.generations[0][0].text
    return b